//package com.zmn.plat.dubbo.interfaces.product.businessline;
//
//import java.util.List;
//
//import javax.validation.Valid;
//import javax.validation.constraints.NotEmpty;
//import javax.validation.constraints.NotNull;
//import javax.validation.constraints.Positive;
//import javax.validation.constraints.Size;
//
//import com.zmn.common.dictionary.DictModel;
//import com.zmn.common.dto.VtDTO;
//import com.zmn.common.dto2.ResponseDTO;
//import com.zmn.plat.common.dto.product.businessline.ProductBusinessLineDIO;
//import com.zmn.plat.common.dto.product.businessline.ProductBusinessLineDRO;
//import com.zmn.plat.common.dto.product.businessline.ProductBusinessLineNameAndBizTypeDRO;
//import com.zmn.plat.dubbo.utils.DubboConsts;
//
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import io.swagger.annotations.ApiParam;
//
///**
// * 产品业务线dubbo接口类
// *
// * @auther: tanghongjun
// * @since: 2020/10/28 11:01
// */
//@Api(value = "产品业务线远程服务", tags = {"产品业务线"})
//public interface ProductBusinessLineListRemoteService {
//
//    /**
//     * 描述:根据ID获取业务线名称
//     *
//     * @param relateId
//     *            ID
//     * @return VtDTO(groupId, groupName)
//     * @auther tanbiao
//     * @since 2020/10/28 11:01
//     */
//    @ApiOperation(value = "根据ID获取业务线名称", response = ResponseDTO.class, notes = "", tags = {"ProductBusinessLine"})
//    ResponseDTO<VtDTO> getNameVtById(@NotNull(message = "relateId不能为空") @Positive(message = "relateId必须为大于0的正整数") @ApiParam(value = "relateId", required = true) Integer relateId);
//
//    /**
//     * 描述:根据ID集合获取业务线名称
//     *
//     * @param relateIdList
//     *            ID集合
//     * @return List<ProductGroupNameAndBizTypeDRO>
//     * @auther tanbiao
//     * @since 2020/10/28 11:01
//     */
//    @ApiOperation(value = "根据ID集合获取业务线名称", response = ResponseDTO.class, notes = "", tags = {"ProductBusinessLine"})
//    ResponseDTO<List<ProductBusinessLineNameAndBizTypeDRO>> listNameAndBizTypeVtByIdList(@NotEmpty(message = "relateIdList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @Size(min = 1,
//        max = DubboConsts.MAX_PARAM_LENGTH, message = "relateIdList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @ApiParam(value = "产品组ID集合", required = true) List<Integer> relateIdList);
//
//    /**
//     * 描述: 根据业务类型和产品组名称查询产品业务线信息
//     *
//     * @param bizType
//     *            业务类型 com.zmn.plat.common.constant.ProductConsts#BIZ_TYPE_
//     * @return List(VtDTO)
//     * @auther: tanbiao
//     * @since: 2020/10/28 11:01
//     */
//    @ApiOperation(value = "根据业务类型和产品业务线名称查询业务线信息", response = ResponseDTO.class, notes = "", tags = {"ProductBusinessLine"})
//    ResponseDTO<List<VtDTO>> listVtByNameListAndBizType(@NotNull(message = "bizType不能为空") @Positive(message = "bizType必须为大于0的正整数") @ApiParam(value = "bizType", required = true) Integer bizType,
//        @NotEmpty(message = "nameList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @Size(min = 1, max = DubboConsts.MAX_PARAM_LENGTH,
//            message = "nameList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @ApiParam(value = "产品组名称集合", required = true) List<String> nameList);
//
//    /**
//     * 描述: 根据业务类型查询产品业务线信息
//     *
//     * @param bizType
//     *            业务类型 com.zmn.plat.common.constant.ProductConsts#BIZ_TYPE_
//     * @return List(VtDTO)
//     * @auther: tanbiao
//     * @since: 2020/10/28 11:01
//     */
//    @ApiOperation(value = "根据业务类型查询产品业务线信息", response = ResponseDTO.class, notes = "", tags = {"ProductBusinessLine"})
//    ResponseDTO<List<VtDTO>> listVtByBizType(@NotNull(message = "bizType不能为空") @Positive(message = "bizType必须为大于0的正整数") @ApiParam(value = "bizType", required = true) Integer bizType,
//        @Positive(message = "status必须为大于0的正整数") Integer status);
//
//    /**
//     * 描述: 根据业务类型集合查询产品业务线信息
//     *
//     * @param bizTypeList
//     *            业务类型集合 com.zmn.plat.common.constant.ProductConsts#BIZ_TYPE_
//     * @return List(VtDTO)
//     * @auther: tanbiao
//     * @since: 2020/10/28 11:01
//     */
//    @ApiOperation(value = "根据业务类型集合查询产品业务线信息", response = ResponseDTO.class, notes = "", tags = {"ProductBusinessLine"})
//    ResponseDTO<List<VtDTO>> listVtByBizTypeList(
//        @NotEmpty(message = "bizTypeList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @Size(min = 1, max = DubboConsts.MAX_PARAM_LENGTH,
//            message = "bizTypeList参数不能为空且个数不能超过" + DubboConsts.MAX_PARAM_LENGTH) @ApiParam(value = "业务类型集合", required = true) List<Integer> bizTypeList,
//        @Positive(message = "status必须为大于0的正整数") Integer status);
//
//    /**
//     * 描述: 根据业务类型集合查询产品业务线信息
//     *
//     * @param productBusinessLineDIO
//     *            业务类型集合 com.zmn.plat.common.constant.ProductConsts#BIZ_TYPE_
//     * @return List(ProductBusinessLineDRO)
//     * @auther: liubodong
//     * @since: 2021/04/24 11:01
//     */
//    @ApiOperation(value = "根据业务类型集合查询产品业务线信息", response = ResponseDTO.class, notes = "", tags = {"ProductBusinessLine"})
//    ResponseDTO<List<ProductBusinessLineDRO>> queryList(@NotNull(message = "入参不能为空" ) @Valid @ApiParam(value = "入参", required = true) ProductBusinessLineDIO productBusinessLineDIO);
//
//    /**
//     * 描述: 业务类型信息
//     *
//     * @return List(DictModel)
//     * @auther: liubodong
//     * @since: 2021/04/24 11:01
//     */
//    @ApiOperation(value = "业务类型", response = ResponseDTO.class, notes = "", tags = {"ProductBusinessLine"})
//    ResponseDTO<List<DictModel>> listBizType();
//}
